#if GL_FRAGMENT_PRECISION_HIGH == 1
	precision highp float;
#else
	precision mediump float;
#endif

uniform float blur_size;

uniform sampler2D s_texture;
 
varying vec2 aVertexUVs_;
 
void main()
{
    gl_FragColor = vec4(0.0);
	
	gl_FragColor += texture2D(s_texture, vec2(aVertexUVs_.x, aVertexUVs_.y - 4.0*blur_size)) * 0.05;
	gl_FragColor += texture2D(s_texture, vec2(aVertexUVs_.x, aVertexUVs_.y - 3.0*blur_size)) * 0.09;
	gl_FragColor += texture2D(s_texture, vec2(aVertexUVs_.x, aVertexUVs_.y - 2.0*blur_size)) * 0.12;
	gl_FragColor += texture2D(s_texture, vec2(aVertexUVs_.x, aVertexUVs_.y - blur_size)) * 0.15;
	gl_FragColor += texture2D(s_texture, vec2(aVertexUVs_.x, aVertexUVs_.y)) * 0.16;
	gl_FragColor += texture2D(s_texture, vec2(aVertexUVs_.x, aVertexUVs_.y + blur_size)) * 0.15;
	gl_FragColor += texture2D(s_texture, vec2(aVertexUVs_.x, aVertexUVs_.y + 2.0*blur_size)) * 0.12;
	gl_FragColor += texture2D(s_texture, vec2(aVertexUVs_.x, aVertexUVs_.y + 3.0*blur_size)) * 0.09;
	gl_FragColor += texture2D(s_texture, vec2(aVertexUVs_.x, aVertexUVs_.y + 4.0*blur_size)) * 0.05;
}